package com.wjm.blog.common.base;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 用户信息详情VO
 *
 * @author Ailos
 * @version 1.0
 * @date 2021-4-4 16:08:15
 */
@Data
@ApiModel
@JsonIgnoreProperties(ignoreUnknown = true)
public class SysUserDetailVo implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键标识")
    private Long id;

    @ApiModelProperty(value = "api code")
    private String code;

    @ApiModelProperty(value = "用户账号")
    private String userAccount;

    @ApiModelProperty(value = "用户密码")
    private String userPwd;

    @ApiModelProperty(value = "昵称")
    private String nickName;

    @ApiModelProperty(value = "真实姓名")
    private String realName;

    @ApiModelProperty(value = "性别")
    private Integer gender;

    @ApiModelProperty(value = "头像")
    private String headUrl;

    @ApiModelProperty(value = "联系电话")
    private String phone;

    @ApiModelProperty(value = "主邮箱")
    private String email;

    @ApiModelProperty(value = "其他邮箱，可多个用逗号拼接")
    private String otherEmail;

    @ApiModelProperty(value = "上次登录时间")
    private LocalDateTime lastLoginTime;

    @ApiModelProperty(value = "状态标识")
    private Integer statusId;

    @ApiModelProperty(value = "启用标识")
    private Integer isEnabled;

    @ApiModelProperty(value = "userType 1 :超管 2： 普通用户")
    private Integer userType;

    @ApiModelProperty(value = "启用标识")
    private Integer isDeleted;

    @ApiModelProperty(value = "租户ID")
    private Long tenantId;

    @ApiModelProperty(value = "机构ID")
    private Long orgId;

    @ApiModelProperty(value = "clientId")
    private Long clientId;

    @ApiModelProperty(value = "角色名称")
    private String roleNames;

    @ApiModelProperty(value = "角色ids")
    private List<Long> roleIds;

    @ApiModelProperty(value = "角色资源关联")
    private List<SysRoleResourcSimpleVo> detailVos;

    @ApiModelProperty(value = "岗位名称集")
    private String postNames;

    @ApiModelProperty(value = "部门名称集")
    private String deptNames;

    @ApiModelProperty(value = "appId")
    private Long appId;

    @ApiModelProperty(value = "hasPersonal 当前用户角色下含有个人档案的产品 0:没有  1:有")
    private Integer hasPersonal;

    @ApiModelProperty(value = "pda产品id")
    private Long pdaId;

    @ApiModelProperty(value = "用户登录IP地址")
    private String loginIp;

    @ApiModelProperty(value = "钉钉手机号")
    private String mobile;

    @ApiModelProperty(value = "微信openId")
    private String openId;

    @ApiModelProperty(value = "机构数量")
    private Integer orgNum;

    @ApiModelProperty(value = "是否超出机构数量")
    private Boolean isOverstepOrgNum;

}
